home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #2 / Monster Media No. 2 (Monster Media)(1994).ISO / pcboard / gamble11.zip / SCRACK.PPE (.txt) < prev   
PCBoard Programming Language Executable  |  1994-05-04  |  7KB  |  277 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     Integer  INTEGER004
  23.     Integer  INTEGER005
  24.     Integer  INTEGER006
  25.     String   STRING001
  26.     String   STRING002
  27.     String   STRING003
  28.     String   STRING004
  29.     String   STRING005
  30.  
  31. ;------------------------------------------------------------------------------
  32.  
  33.     :LABEL001
  34.     STRING005 = "n"
  35.     Cls
  36.     PrintLn "   @X4C┌─────────────────────────────────────────────────────────────────────┐@X07"
  37.     PrintLn "   @X4C│                          @X4ESafe Cracker                               @X4C│@X07"
  38.     PrintLn "   @X4C│@X4E           by Brian Sweeney @ The Laser BBS (914.734.7045)           @X4C│@X07"
  39.     PrintLn "   @X4C│@XCA                 UNREGISTERED EVALUATION VERSION                     @X4C│@X07"
  40.     PrintLn "   @X4C│@X40─────────────────────────────────────────────────────────────────────@X4C│@X07"
  41.     PrintLn "   @X4C│@X4F    You may bet as much time as you have today.  If you loose, the   @X4C│@X07"
  42.     PrintLn "   @X4C│@X4F  amount of time you bet will be deducted from your time limit for   @X4C│@X07"
  43.     PrintLn "   @X4C│@X4F  today.  If you win, the amount you bet will be added to the time   @X4C│@X07"
  44.     PrintLn "   @X4C│@X4F  you have remaining for THIS CALL.  When you logoff, you will loose @X4C│@X07"
  45.     PrintLn "   @X4C│@X4F  any time you won unless you deposit it in the time bank.           @X4C│@X07"
  46.     PrintLn "   @X4C│@X40─────────────────────────────────────────────────────────────────────@X4C│@X07"
  47.     PrintLn "   @X4C│    @X4FYou will get 11 chances to guess a number between 0000 and 9999. @X4C│@X07"
  48.     PrintLn "   @X4C│  @X4FWhen you guess a number you will be told if the combination is     @X4C│@X07"
  49.     PrintLn "   @X4C│  @X4Fhigher or lower than your guess.  If you guess the right           @X4C│@X07"
  50.     PrintLn "   @X4C│@X4F  combination, you will win what you bet times the number of guesses @X4C│@X07"
  51.     PrintLn "   @X4C│@X4F  you have left.  If you run out of gusses, you will be able to buy  @X4C│@X07"
  52.     PrintLn "   @X4C│@X4F  one more for half of your bet.                                     @X4C│@X07"
  53.     PrintLn "   @X4C│@X40─────────────────────────────────────────────────────────────────────@X4C│@X07"
  54.     PrintLn "   @X4C│               @X4EYou have @X4F@TIMELEFT:4@ @X4Eminutes remaining today                 @X4C│@X07"
  55.     PrintLn "   @X4C└─────────────────────────────────────────────────────────────────────┘"
  56.     PrintLn 
  57.     InputStr "How many minutes do you wish to gamble (Q)uit", INTEGER002, 14, 2, "0123456789qQ", 8
  58.     If (INTEGER002 == 0) End
  59.     If (INTEGER002 == "Q") End
  60.     If (INTEGER002 == "") Goto LABEL001
  61.     If (INTEGER002 > MinLeft()) Then
  62.         PrintLn 
  63.         PrintLn 
  64.         PrintLn "@X0EYou don't have that much time left!"
  65.         PrintLn 
  66.         PrintLn 
  67.         Wait
  68.         Goto LABEL001
  69.     Endif
  70.     If ((STRING005 == "n") && (INTEGER002 <> 30)) Goto LABEL010
  71.     INTEGER001 = Random(9998) + 1
  72.     INTEGER003 = 12
  73.     INTEGER005 = 9999
  74.     INTEGER004 = 0
  75.     INTEGER006 = 0
  76.     STRING004 = "n"
  77.     STRING003 = " "
  78.     Cls
  79.     AnsiPos 0, 5
  80.     PrintLn "              @X4C┌────────────────────────────────────────────────┐@X07"
  81.     PrintLn "              @X4C│                 @X4ESafe Cracker                   @X4C│@X07"
  82.     PrintLn "              @X4C│@X40────────────────────────────────────────────────@X4C│@X07"
  83.     PrintLn "              @X4C│@X4F    You must guess the combination to the safe. @X4C│@X07"
  84.     PrintLn "              @X4C│@X4F  Possible combinations are from 0000 to 9999.  @X4C│@X07"
  85.     PrintLn "              @X4C│@X40────────────────────────────────────────────────@X4C│@X07"
  86.     PrintLn "              @X4C│@X4F  Guesses Left: @X4E11   @X4FLast Guess was @X4E            @X4C│@X07"
  87.     PrintLn "              @X4C│@X4F  Combination is between @X4E0000 @X4Fand @X4E9999          @X4C│@X07"
  88.     PrintLn "              @X4C│                                                │@X07"
  89.     PrintLn "              @X4C│             @X4BYour Guess ──>                     @X4C│@X07"
  90.     PrintLn "              @X4C│             @X4BLast Guess ──>                     @X4C│@X07"
  91.     PrintLn "              @X4C└────────────────────────────────────────────────┘@X07"
  92.     :LABEL002
  93.     If (INTEGER003 == 0) Goto LABEL006
  94.     AnsiPos 43, 14
  95.     Print "@X4B          "
  96.     AnsiPos 44, 14
  97.     InputStr "", STRING001, 64, 4, "0123456789", 8
  98.     If (STRING001 == INTEGER001) Goto LABEL005
  99.     If (STRING001 < INTEGER001) Goto LABEL003
  100.     If (STRING001 > INTEGER001) Goto LABEL004
  101.     :LABEL003
  102.     If (STRING005 == "n") Gosub LABEL009
  103.     AnsiPos 41, 12
  104.     Color 78
  105.     Print "    "
  106.     AnsiPos 41, 12
  107.     Color 78
  108.     If (STRING001 <= INTEGER004) Then
  109.         Print INTEGER004
  110.     Else
  111.         Print STRING001
  112.     Endif
  113.     AnsiPos 52, 11
  114.     Color 78
  115.     Print "Too Low! "
  116.     If (STRING001 <= INTEGER004) Then
  117.         AnsiPos 52, 11
  118.         Print "STUPID!   "
  119.     Endif
  120.     INTEGER003 = INTEGER003 - 1
  121.     AnsiPos 32, 11
  122.     Color 78
  123.     Print INTEGER003, " "
  124.     AnsiPos 44, 15
  125.     Color 78
  126.     Print STRING001, "     "
  127.     If (STRING001 > INTEGER004) INTEGER004 = STRING001
  128.     Goto LABEL002
  129.     :LABEL004
  130.     If (STRING005 == "n") Gosub LABEL009
  131.     AnsiPos 50, 12
  132.     Color 78
  133.     If (STRING001 >= INTEGER005) Then
  134.         Print INTEGER005
  135.     Else
  136.         Print STRING001
  137.     Endif
  138.     Print "    "
  139.     AnsiPos 52, 11
  140.     Color 78
  141.     Print "Too High!"
  142.     If (STRING001 >= INTEGER005) Then
  143.         AnsiPos 52, 11
  144.         Print "STUPID!   "
  145.     Endif
  146.     INTEGER003 = INTEGER003 - 1
  147.     AnsiPos 32, 11
  148.     Color 78
  149.     Print INTEGER003, " "
  150.     AnsiPos 44, 15
  151.     Color 78
  152.     Print STRING001, "     "
  153.     If (STRING001 < INTEGER005) INTEGER005 = STRING001
  154.     Goto LABEL002
  155.     :LABEL005
  156.     If (STRING005 == "n") Gosub LABEL009
  157.     If (INTEGER003 == 0) INTEGER003 = 1
  158.     INTEGER002 = INTEGER002 * INTEGER003
  159.     AnsiPos 20, 18
  160.     If (STRING004 == "y") Then
  161.         PrintLn "@X0E You win 1/2 your bet (", INTEGER006, " minutes!)"
  162.         AdjTime INTEGER006
  163.     Else
  164.         PrintLn "@X0E You win ", INTEGER003, " times your bet (", INTEGER002, " minutes!)"
  165.         AdjTime INTEGER002
  166.     Endif
  167.     Goto LABEL008
  168.     :LABEL006
  169.     If (STRING005 == "n") Gosub LABEL009
  170.     If (INTEGER006 == 0) Then
  171.         INTEGER006 = INTEGER002 / 2
  172.         AnsiPos 5, 18
  173.         PrintLn "@X0EYou have run out of guesses.  Would you like to purchase another"
  174.         InputYN "                     guess for half your bet", STRING003, 14
  175.         If ((STRING003 == "Y") || (STRING003 == "y")) Then
  176.             INTEGER003 = 1
  177.             AnsiPos 5, 18
  178.             PrintLn "                                                                  "
  179.             Print "                                                   "
  180.             STRING004 = "y"
  181.             Goto LABEL002
  182.             Goto LABEL007
  183.         Endif
  184.         Goto LABEL007
  185.     Endif
  186.     :LABEL007
  187.     If (STRING005 == "n") Gosub LABEL009
  188.     AnsiPos 15, 21
  189.     If (STRING004 <> "y") PrintLn "@X0EThe number was ", INTEGER001, ".  You lose ", INTEGER002, " minutes!"
  190.     If (STRING004 == "y") Then
  191.         INTEGER002 = INTEGER002 + INTEGER006
  192.         PrintLn "@X0EThe number was ", INTEGER001, ".  You lose ", INTEGER002, " minutes!"
  193.     Endif
  194.     AdjTime -INTEGER002
  195.     :LABEL008
  196.     PrintLn 
  197.     InputYN "Do you wish to try again", STRING002, 14
  198.     If ((STRING002 == "Y") || (STRING002 == "y")) Goto LABEL001
  199.     If ((STRING002 == "N") || (STRING002 == "n")) End
  200.     :LABEL009
  201.     AnsiPos 1, 23
  202.     Print "@X0FPausing for 5 seconds to encourage registration..."
  203.     Delay 91
  204.     AnsiPos 1, 23
  205.     Print "                                                              "
  206.     Return
  207.     :LABEL010
  208.     AnsiPos 1, 21
  209.     PrintLn "@X0FIn this unregistered version you may only bet 30 minutes each time."
  210.     Wait
  211.     Goto LABEL001
  212.  
  213. ;------------------------------------------------------------------------------
  214. ;
  215. ; Usage report (before postprocessing)
  216. ;
  217. ; ■ Statements used :
  218. ;
  219. ;    3       End
  220. ;    2       Cls
  221. ;    2       Wait
  222. ;    9       Color 
  223. ;    28      Goto 
  224. ;    18      Let 
  225. ;    18      Print 
  226. ;    46      PrintLn 
  227. ;    28      If 
  228. ;    3       AdjTime 
  229. ;    2       InputStr 
  230. ;    2       InputYN 
  231. ;    5       Gosub 
  232. ;    1       Return
  233. ;    1       Delay 
  234. ;    21      AnsiPos 
  235. ;
  236. ;
  237. ; ■ Functions used :
  238. ;
  239. ;    1       -
  240. ;    1       *
  241. ;    1       /
  242. ;    2       +
  243. ;    2       -
  244. ;    21      ==
  245. ;    2       <>
  246. ;    2       <
  247. ;    2       <=
  248. ;    3       >
  249. ;    2       >=
  250. ;    9       !
  251. ;    1       &&
  252. ;    3       ||
  253. ;    1       Random()
  254. ;    1       MinLeft()
  255. ;
  256. ;------------------------------------------------------------------------------
  257. ;
  258. ; Analysis flags : A
  259. ;
  260. ; A - Adjust online time remaining ■ 5
  261. ;     Program modify the amount of online time remaining, this may
  262. ;     be a way to bypass time limits
  263. ;     ■ Search for : ADJTIME
  264. ;
  265. ;------------------------------------------------------------------------------
  266. ;
  267. ; Postprocessing report
  268. ;
  269. ;    0       For/Next
  270. ;    0       While/EndWhile
  271. ;    9       If/Then or If/Then/Else
  272. ;    0       Select Case
  273. ;
  274. ;------------------------------------------------------------------------------
  275. ;                 AEGiS Corp - Break the routines, code against the machines!
  276. ;------------------------------------------------------------------------------
  277.